package com.spsoft.core.model.leqidmz.param;

import com.spsoft.core.annotation.EnumValue;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;

@ApiModel(value = "数电红字确认单确认入参")
@EqualsAndHashCode(callSuper = true)
@Data
public class ConfirmRedConfirmParam extends BaseUserInfoParam {

    /**
     * （销售方）统一社会信用代码/纳税人识别号/身份证件号码
     */
    @ApiModelProperty(value = "（销售方）统一社会信用代码/纳税人识别号/身份证件号码", required = true)
    @NotBlank(message = "纳税人识别号不能为空")
    private String xsfnsrsbh;

    /**
     * 红字确认单 UUID
     */
    @ApiModelProperty(value = "红字确认单 UUID", required = true)
    @NotBlank(message = "红字确认单 UUID不能为空")
    private String uuid;

    /**
     * 红字发票信息确认单编号
     */
    @ApiModelProperty(value = "红字发票信息确认单编号", required = true)
    @NotBlank(message = "红字发票信息确认单编号不能为空")
    private String hzqrdbh;

    /**
     * 确认类型
     * Y：同意
     * N：不同意
     * C：撤销
     */
    @ApiModelProperty(value = "确认类型", required = true)
    @NotBlank(message = "确认类型不能为空")
    @EnumValue(strValues = {"Y", "N", "C"}, message = "确认类型只能是：Y 同意 N 不同意 C 撤销")
    private String qrlx;

}
